<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  
  
  <title>废墟图书馆</title>
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta name="description" content="正于此地，愿您找到想要的书">
<meta property="og:type" content="website">
<meta property="og:title" content="废墟图书馆">
<meta property="og:url" content="https://silence-in-the-dark.gitee.io/study/index.html">
<meta property="og:site_name" content="废墟图书馆">
<meta property="og:description" content="正于此地，愿您找到想要的书">
<meta property="og:locale" content="zh_CN">
<meta property="article:author" content="漆黑噤默">
<meta name="twitter:card" content="summary">
  
    <link rel="alternate" href="/study/atom.xml" title="废墟图书馆" type="application/atom+xml">
  
  
    <link rel="shortcut icon" href="/study/favicon.png">
  
  
    
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/typeface-source-code-pro@0.0.71/index.min.css">

  
  
<link rel="stylesheet" href="/study/css/style.css">

  
    
<link rel="stylesheet" href="/study/fancybox/jquery.fancybox.min.css">

  
<meta name="generator" content="Hexo 6.1.0"></head>

<body>
  <div id="container">
    <div id="wrap">
      <header id="header">
  <div id="banner"></div>
  <div id="header-outer" class="outer">
    <div id="header-title" class="inner">
      <h1 id="logo-wrap">
        <a href="/study/" id="logo">废墟图书馆</a>
      </h1>
      
        <h2 id="subtitle-wrap">
          <a href="/study/" id="subtitle">科技层</a>
        </h2>
      
    </div>
    <div id="header-inner" class="inner">
      <nav id="main-nav">
        <a id="main-nav-toggle" class="nav-icon"></a>
        
          <a class="main-nav-link" href="/study/">Home</a>
        
          <a class="main-nav-link" href="/study/archives">Archives</a>
        
      </nav>
      <nav id="sub-nav">
        
          <a id="nav-rss-link" class="nav-icon" href="/study/atom.xml" title="RSS 订阅"></a>
        
        <a id="nav-search-btn" class="nav-icon" title="搜索"></a>
      </nav>
      <div id="search-form-wrap">
        <form action="//google.com/search" method="get" accept-charset="UTF-8" class="search-form"><input type="search" name="q" class="search-form-input" placeholder="搜索"><button type="submit" class="search-form-submit">&#xF002;</button><input type="hidden" name="sitesearch" value="https://silence-in-the-dark.gitee.io/study"></form>
      </div>
    </div>
  </div>
</header>

      <div class="outer">
        <section id="main">
  
    <article id="post-关于-和-在函数调用时的意义" class="h-entry article article-type-post" itemprop="blogPost" itemscope itemtype="https://schema.org/BlogPosting">
  <div class="article-meta">
    <a href="/study/2022/04/05/%E5%85%B3%E4%BA%8E-%E5%92%8C-%E5%9C%A8%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E6%97%B6%E7%9A%84%E6%84%8F%E4%B9%89/" class="article-date">
  <time class="dt-published" datetime="2022-04-05T13:29:40.000Z" itemprop="datePublished">2022-04-05</time>
</a>
    
  </div>
  <div class="article-inner">
    
    
      <header class="article-header">
        
  
    <h1 itemprop="name">
      <a class="p-name article-title" href="/study/2022/04/05/%E5%85%B3%E4%BA%8E-%E5%92%8C-%E5%9C%A8%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E6%97%B6%E7%9A%84%E6%84%8F%E4%B9%89/">关于*和&amp;在函数调用时的意义</a>
    </h1>
  

      </header>
    
    <div class="e-content article-entry" itemprop="articleBody">
      
        <p>  在数据结构实验中，关于单链表的实现中的某些函数中&amp;和*的使用，产生了一些疑惑，查询了一些博客，找到了一个可以解释该种情况的解答。函数如下：</p>
<p>typedef struct LNode{<br>     int data;<br>     struct LNode *next;<br>}LNode,*LinkList;</p>
<p>void CreateList(LinkList &amp;L,int n)               &#x2F;&#x2F;通过前插法创建函数<br>{<br>    int i;<br>    struct LNode <em>p;<br>    L&#x3D;(LNode</em>)malloc(sizeof(LNode));<br>    L-&gt;next&#x3D;NULL;<br>    L-&gt;data&#x3D;n;<br>    printf(“逆序输入：”);<br>    for(i&#x3D;0;i&lt;n;++i)<br>    {<br>        p&#x3D;(LNode*)malloc(sizeof(LNode));<br>        scanf(“%d”,&amp;p-&gt;data);<br>        p-&gt;next&#x3D;L-&gt;next;<br>        L-&gt;next&#x3D;p;<br>    }<br>}</p>
<p>如果传值方式传入的是指针，那么如果单纯修改指针，那么在跳出函数后，该指针指向不受影响，但是如果修改的是指针指向的值，那么外部指针所指向的内容也是相应修改了的。因为以指针为参数进行传值，也是在函数内部复制了一个指针的副本，因而在内部修改指针本身即修改其副本并不影响外部的指针（如遍历时头指针的移动），但是两个指针都是指向同一个内存空间的，因而如果在函数内部修改了指针指向的内容，外部指针指向的内容也就相应改变了。<br>所以，定义一个指针 LNode *p,LNode *p 传入函数，可以改变p指向的内容，但是如果在函数内让p指向别人，在跳出函数之后，p还是指向原来的位置；但如果通过p改变数据域的值，跳出函数后也会改变。如果你的函数无需改变你的指针本身，只需调用它输出或赋值等，&amp;就无所谓；如果像上式一样要修改原指针，就要&amp;。<br>int <em>&amp;p 传入函数，p 是指针, &amp;p中的&amp;表明引用实参，即代表实参的一个别名。int * 是一个类型，和前面的int</em>p 是一样的，说明&amp;p 是一个指针。 操作引用变量就相当于操作实参变量,所以这里就是操作指针。如：</p>
<p>int add（int a,int b）<br>{<br>    a&#x3D;a+b;<br>    return a;<br>}</p>
<p>实际上a值并未改变。<br>int * 是一个类型，和前面的int *p是一样的，说明&amp;p是一个指针。</p>

      
    </div>
    <footer class="article-footer">
      <a data-url="https://silence-in-the-dark.gitee.io/study/2022/04/05/%E5%85%B3%E4%BA%8E-%E5%92%8C-%E5%9C%A8%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E6%97%B6%E7%9A%84%E6%84%8F%E4%B9%89/" data-id="cl1m7uxl50000pwvb1ek2apnj" data-title="关于*和&amp;在函数调用时的意义" class="article-share-link">分享</a>
      
      
      
    </footer>
  </div>
  
</article>



  


</section>
        
          <aside id="sidebar">
  
    

  
    

  
    
  
    
  <div class="widget-wrap">
    <h3 class="widget-title">归档</h3>
    <div class="widget">
      <ul class="archive-list"><li class="archive-list-item"><a class="archive-list-link" href="/study/archives/2022/04/">四月 2022</a></li></ul>
    </div>
  </div>


  
    
  <div class="widget-wrap">
    <h3 class="widget-title">最新文章</h3>
    <div class="widget">
      <ul>
        
          <li>
            <a href="/study/2022/04/05/%E5%85%B3%E4%BA%8E-%E5%92%8C-%E5%9C%A8%E5%87%BD%E6%95%B0%E8%B0%83%E7%94%A8%E6%97%B6%E7%9A%84%E6%84%8F%E4%B9%89/">关于*和&amp;在函数调用时的意义</a>
          </li>
        
      </ul>
    </div>
  </div>

  
</aside>
        
      </div>
      <footer id="footer">
  
  <div class="outer">
    <div id="footer-info" class="inner">
      
      &copy; 2022 漆黑噤默<br>
      Powered by <a href="https://hexo.io/" target="_blank">Hexo</a>
    </div>
  </div>
</footer>

    </div>
    <nav id="mobile-nav">
  
    <a href="/study/" class="mobile-nav-link">Home</a>
  
    <a href="/study/archives" class="mobile-nav-link">Archives</a>
  
</nav>
    


<script src="/study/js/jquery-3.4.1.min.js"></script>



  
<script src="/study/fancybox/jquery.fancybox.min.js"></script>




<script src="/study/js/script.js"></script>





  </div>
</body>
</html>